package com.skiving.cloud.constant;

/**
 * 常量
 */
public class AdminConstant {

    /**
     * 批量提交批次数量
     */
    public static final int BATCH_SIZE = 100;

    /** 超级管理员ID */
    public static final String SUPER_ADMIN = "1";
    /** 超级管理员租户ID */
    public static final String SUPER_ADMIN_TENANT_ID = "1";
    /** 系统员角色ID */
    public static final String SUPER_ADMIN_ROLE_ID = "1";

    /**
     * 用户状态 正常
     */
    public static final String USER_STATUS_NORMAL = "100201";
    /**
     * 用户状态 锁定
     */
    public static final String USER_STATUS_LOCKED = "100202";
    /**
     * 用户状态 停用
     */
    public static final String USER_STATUS_DISABLED = "100203";
    /**
     * 用户状态 删除
     */
    public static final String USER_STATUS_DELETED = "100204";

    /**
     * 仪表盘配置类型 用户
     */
    public static final String DASHBOARD_SET_TYPE_USER = "1";
    /**
     * 仪表盘配置类型 岗位
     */
    public static final String DASHBOARD_SET_TYPE_STATION = "2";
    /**
     * 仪表盘配置类型 角色
     */
    public static final String DASHBOARD_SET_TYPE_ROLE = "3";
    /**
     * 仪表盘配置类型 机构
     */
    public static final String DASHBOARD_SET_TYPE_ORG = "4";

    /**
     * 菜单类型
     *
     */
    public enum MenuType {
        /**
         * 目录
         */
        CATALOG(1),
        /**
         * 菜单
         */
        MENU(2),
        /**
         * 按钮
         */
        BUTTON(3);

        private final int value;

        MenuType(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }

    /**
     * 定时任务状态
     *
     */
    public enum ScheduledStatus {
        /**
         * 正常
         */
        NORMAL("start"),
        /**
         * 暂停
         */
        PAUSE("stop");

        private final String value;

        ScheduledStatus(String value) {
            this.value = value;
        }

        public String getValue() {
            return value;
        }
    }

    /**
     * 菜单终端类型
     * @author hushouquan
     */
    public enum TerminalType {
        /**
         * PC
         */
        TERMINAL_TYPE_PC("1"),
        /**
         * APP
         */
        TERMINAL_TYPE_APP("2");

        private final String value;

        TerminalType(String value){
            this.value = value;
        }
        public String getValue() {
            return value;
        }
    }

    /**
     * 机构级别
     * @author hushouquan
     *
     */
    public enum OrgRank {
        /**
         * 公司
         */
        ORG_RANK_COMPANY("1"),
        /**
         * 部门
         */
        ORG_RANK_DEPT("2"),
        /**
         * 其他
         */
        ORG_RANK_OTHER("3");

        private final String value;

        OrgRank(String value){
            this.value = value;
        }
        public String getValue() {
            return value;
        }
    }

    /**
     * 机构类型
     * @author hushouquan
     *
     */
    public enum OrgType {
        /**
         * 虚拟机构
         */
        ORG_RANK_VIRTUAL("1"),
        /**
         * 实体机构
         */
        ORG_RANK_PRACTICAL("2");

        private final String value;

        OrgType(String value){
            this.value = value;
        }
        public String getValue() {
            return value;
        }
    }

}
